package com.topnav.mc.admin.controller;

import com.js.lib.result.Result;
import com.topnav.mc.admin.entity.enums.*;
import com.topnav.mc.exception.ExceptionMsg;
import com.topnav.mc.uitls.ResultErrorUtil;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

/**
 * @Author: kenny
 * @Date: 2023/12/12 16:53
 */

@Api(value = "admin/enum", tags = "枚举列表查询")
@RestController
@CrossOrigin
@RequestMapping("admin/enum")
@Slf4j
public class EnumController {

    /**
     * 通用枚举类型查询
     * @param enumName
     * @return
     */
    @GetMapping("/get/{enumName}")
    @ResponseBody
    public Result get(@PathVariable String enumName) {
        if ("EnumDeviceLogType".equals(enumName)){
            //设备上下线事件
            return Result.ok(EnumDeviceLogType.toList());
        }else if ("DeviceAlarmCate".equals(enumName)){
            //设备报警类型
            return Result.ok(DeviceAlarmCate.toList());
        }else if ("DeviceType".equals(enumName)){
            //设备报警类型
            return Result.ok(DeviceType.toList());
        }else if ("EnumLogType".equals(enumName)){
            //操作日志类型
            return Result.ok(EnumLogType.toList());
        }else if ("EnumOperateFunction".equals(enumName)){
            //操作日志模块
            return Result.ok(EnumOperateFunction.toList());
        }else if ("EnumStreamMode".equals(enumName)){
            //设备报警类型
            List<EnumModal> list = EnumStreamMode.toList();
            list.remove(2);
            return Result.ok(list);
        }else {
            log.error("错误的 enumName");
            return ResultErrorUtil.byExceptionMsg(ExceptionMsg.EXCEPTION,"invalid enumName");
        }
    }
}
